#include <stdio.h>
#include "link32fa016bx.h"

volatile int n;
int main(void)
{
	__enable_irq();
	__IBEX_EnableIRQ(0x3);
	CLINT_SetSWIRQ();
	while(n < 100) {
		for(int i=0 ; i < 100000; i++);
		CLINT_SetSWIRQ();
	}
	__IBEX_DisableIRQ(0x3);
	return 0;
}

__INTERRUPT void TrapEntry_msip(void)
{
	printf("%d:Soft Interrupt\n", n);
	n++;
	for(int i=0 ; i < 100000; i++);
	CLINT_ClearSWIRQ();
}
